From e64b522e05801221a093037250579fd8a55b0baf Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Wed, 22 Feb 2017 17:23:42 -0800
Subject: [PATCH] Add an option to disable the tk module

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[ Andrey Smirnov: ported to Python 3.6 ]
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
[ Adam Duskett: ported to Python 3.10.0 ]
Signed-off-by: Adam Duskett <aduskett@gmail.com>
[ Bernd Kuhls: ported to Python 3.11.4]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[ Adam Duskett: ported to Python 3.12.1 ]
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
 Makefile.pre.in | 8 +++++---
 configure.ac    | 5 +++++
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/Makefile.pre.in b/Makefile.pre.in
index 9bbe16d4cb8..8af8a3aa40b 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -2106,7 +2106,6 @@ LIBSUBDIRS=	asyncio \
 		multiprocessing multiprocessing/dummy \
 		re \
 		site-packages \
-		tkinter \
 		tomllib \
 		turtledemo \
 		unittest \
@@ -2207,7 +2206,6 @@ TESTSUBDIRS=	idlelib/idle_test \
 		test/test_module \
 		test/test_peg_generator \
 		test/test_sqlite3 \
-		test/test_tkinter \
 		test/test_tomllib \
 		test/test_tomllib/data \
 		test/test_tomllib/data/invalid \
@@ -2227,7 +2225,6 @@ TESTSUBDIRS=	idlelib/idle_test \
 		test/test_tomllib/data/valid/dates-and-times \
 		test/test_tomllib/data/valid/multiline-basic-str \
 		test/test_tools \
-		test/test_ttk \
 		test/test_unittest \
 		test/test_unittest/testmock \
 		test/test_warnings \
@@ -2244,6 +2241,11 @@ TESTSUBDIRS=	idlelib/idle_test \
 		test/xmltestdata/c14n-20 \
 		test/ziptestdata
 
+ifeq (@TK@,yes)
+LIBSUBDIRS += tkinter
+TESTSUBDIRS += test/test_tkinter test/test_ttk
+endif
+
 COMPILEALL_OPTS=-j0
 
 ifeq (@PYDOC@,yes)
diff --git a/configure.ac b/configure.ac
index c8ae60aa6b5..7caa361138d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4503,6 +4503,11 @@ AC_ARG_ENABLE(pydoc,
 	AS_HELP_STRING([--disable-pydoc], [disable pydoc]),
 	[ PYDOC="${enableval}" ], [ PYDOC=yes ])
 
+AC_SUBST(TK)
+AC_ARG_ENABLE(tk,
+	AS_HELP_STRING([--disable-tk], [disable tk]),
+	[ TK="${enableval}" ], [ TK=yes ])
+
 # Check for enable-ipv6
 AH_TEMPLATE([ENABLE_IPV6], [Define if --enable-ipv6 is specified])
 AC_MSG_CHECKING([if --enable-ipv6 is specified])
-- 
2.43.0

